package com.funong.matrix.biz.user.facade;

import com.funong.matrix.biz.base.entity.SysDeptEntity;
import com.funong.matrix.core.dto.QueryDTO;
import com.funong.matrix.core.dto.Result;

import java.util.List;

/**
 * @author wanjialin
 * @version 1.0
 * @date 2023/5/18
 */
public interface SysDeptFacade {


    Result queryDept(QueryDTO<SysDeptEntity> queryDTO);

    /**
     * 根据id查询部门信息
     *
     * @param Id
     * @return
     */
    SysDeptEntity queryDeptById(Integer Id);

    /**
     * 新增部门信息
     *
     * @param sysDeptEntity
     * @return
     */
    Boolean saveDept(SysDeptEntity sysDeptEntity);

    /**
     * 修改部门信息
     *
     * @param sysDeptEntity
     * @return
     */
    Boolean updateDept(SysDeptEntity sysDeptEntity);

    /**
     * 删除部门信息
     *
     * @param id
     * @return
     */
    Boolean deleteDept(Integer id);


    /**
     * 根据id启用/禁用部门
     *
     * @param id
     * @return
     */
    Boolean updateDeptStatus(Integer id);

    /**
     * 根据公司编号插叙部门
     *
     * @param companyCode
     * @return
     */
    List<SysDeptEntity> queryDeptByCompanyCode(String companyCode);

}
